Media Content Based on Playback Zone Awareness

ABSTRACT

Systems and methods are provided for providing media content based on playback zone awareness. In one aspect, a computing system receives, via a network interface, zone data from the media playback system, wherein the zone data includes an indication of a particular zone of the media playback system, and wherein the particular zone comprises at least one playback device. The computing system identifies audio content based on (i) the indication of the particular zone and (ii) contextual data associated with the particular zone, and provides, via the network interface, an indication of the identified audio content to the media playback system.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 to, and is acontinuation of, U.S. non-provisional patent application Ser. No.15/664,677, filed on Jul. 31, 2017, entitled “ Media Content Based onPlayback Zone Awareness,” which is incorporated herein by reference inits entirety.

U.S. non-provisional patent application Ser. No. 15/664,677 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 15/339,427, filed on Oct.31, 2016, entitled “ Media Content Based on Playback Zone Awareness,”and issued on Aug. 1, 2017 as U.S. Pat. No. 9,723,418, which is alsoincorporated herein by reference in its entirety.

U.S. non-provisional patent application Ser. No. 15/339,427 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 15/072,060, filed on Mar.16, 2016, entitled “Media Content Based on Playback Zone Awareness,” andissued on Jul. 7, 2016 as U.S. Pat. No. 9,516,445, which is alsoincorporated herein by reference in its entirety.

U.S. non-provisional patent application Ser. No. 15/072,060 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 14/921,645, filed on Oct.23, 2015, entitled “Media Content Based on Playback Zone Awareness,” andissued on Apr. 26, 2016 as U.S. Pat. No. 9,326,070, which is alsoincorporated herein by reference in its entirety.

U.S. non-provisional patent application Ser. No 14/921,645 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No 14/186,924, filed on Feb. 21,2014, entitled “Media Content Based on Playback Zone Awareness,” andissued on Dec. 29, 2015 as U.S. Pat. No. 9,226,072, which is alsoincorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The disclosure is related to consumer goods and, more particularly, tomethods, systems, products, features, services, and other elementsdirected to media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were severely limited until in 2003, when SONOS, Inc. filed forone of its first patent applications, entitled “Method for SynchronizingAudio Playback between Multiple Networked Devices,” and began offering amedia playback system for sale in 2005. The Sonos Wireless HiFi Systemenables people to experience music from virtually unlimited sources viaone or more networked playback devices. Through a software controlapplication installed on a smartphone, tablet, or computer, one can playwhat he or she wants in any room that has a networked playback device.Additionally, using the controller, for example, different songs can bestreamed to each room with a playback device, rooms can be groupedtogether for synchronous playback, or the same song can be heard in allrooms synchronously.

Given the ever growing interest in digital media, there continues to bea need to develop consumer-accessible technologies to further enhancethe listening experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings where:

FIG. 1 shows an example media playback system configuration in whichcertain embodiments may be practiced;

FIG. 2 shows a functional block diagram of an example playback device;

FIG. 3 shows a functional block diagram of an example control device;

FIG. 4 shows an example controller interface;

FIG. 5 shows an example configuration of a media playback system and aservice provider;

FIG. 6A shows a first example flow diagram for providing playback zoneinformation to a service provider;

FIG. 6B shows a second example flow diagram for providing playback zoneinformation to a service provider; and

FIG. 7 shows an example flow diagram for providing media content basedon playback zone information.

The drawings are for the purpose of illustrating example embodiments,but it is understood that the inventions are not limited to thearrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Embodiments described herein provide media content based on playbackzone awareness. In one embodiment, a service provider receives zone dataindicating a particular playback zone in a media playback system. Basedon the zone data, the service provider sends a selection of audiocontent to the media playback system. The audio content is played viathe particular playback zone.

For example, if a user selects an “Office” zone on a controllerinterface of a media playback system, the service provider receives thezone selection and correspondingly provides selected media content forthe office zone. Selected media content for an office zone may include,for example, music with more instrumental sound than vocals. Otherexamples are provided herein.

In another embodiment, a media playback system provides a serviceprovider with zone data. The zone data indicates the zone in which themedia content is playing or is to be played. The service provider canuse the zone data to tailor the media content it sends to the mediaplayback system for playback by in particular zone.

In one example, the zone data may be provided to the service provider bythe media playback system when the media system requests media contentfrom the service provider. In another example, the zone data may beprovided to the service provider when user feedback to content from theservice provider is relayed to the service provider. For instance, someservice providers provide user-tailored media content based on feedbackreceived from the user. For instance, a user can provide positive ornegative feedback for media content provided by the service provider,and based on the feedback, the service provider may determine mediacontent to subsequently provide to the user.

The present application is directed to providing media content based onplayback zone awareness and includes the description of a number ofembodiments. In one aspect, for example, a method is provided. Themethod involves receiving, by a computing device associated with aservice provider, zone data. The zone data identifies a zone name and/ortype of a zone associated with a playback device of a media playbacksystem. The reception of the zone data indicates a selection of the zoneassociated with the playback device. The method also involvesidentifying, by the computing device, media content based on the zonedata, and providing, by the computing device, the media content to themedia playback system. The media content may be provided to the playbackdevice and/or any other devices in the media playback system.

In another aspect, for example, a device is provided. The deviceincludes a processor and memory having stored thereon instructionsexecutable by the processor to cause the device to perform functions.The functions include receiving, by a computing device associated with aservice provider, zone data. The zone data identifies a zone name and/ortype of a zone associated with a playback device of a media playbacksystem. The reception of the zone data indicates a selection of thezone. The functions also include identifying, by the computing device,media content based on the zone data, and providing, by the computingdevice, the media content to the media playback system. The mediacontent may be provided to the playback device and/or any other devicesin the media playback system.

In yet another aspect, for example, a non-transitory computer readablememory is provided. The non-transitory computer readable memory hasstored thereon instructions executable by a computing device to causethe computing device to perform functions. The functions includereceiving, by a computing device associated with a service provider,zone data. The zone data identifies a zone name and/or type of a zoneassociated with a playback device of a media playback system. Thereception of the zone data indicates a selection of the zone associatedwith the playback device. The functions also include identifying, by thecomputing device based on the zone data, media content based on the zonedata, and providing, by the computing device, the media content to themedia playback system. The media content may be provided to the playbackdevice and/or any other devices in the media playback system.

In another aspect, a method is provided. The method involves receiving,by a controller device, zone selection data indicating a selection of azone; and sending a message, by the controller device, to a serviceprovider. The message includes zone data identifying the zone.

In yet another aspect, a controller device is provided. The controllerdevice includes a processor and memory having stored thereoninstructions executable by the processor to cause the controller deviceto perform functions. The functions include receiving, by a controllerdevice, zone selection data indicating a selection of a zone; andsending a message, by the controller device, to a service provider. Themessage includes zone data identifying the zone.

In another aspect, a non-transitory computer readable memory isprovided. The non-transitory computer readable memory has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include receiving, by acontroller device, zone selection data indicating a selection of a zone;and sending a message, by the controller device, to a service provider.The message includes zone data identifying the zone.

In yet another aspect, a method is provided. The method involvesassociating, by a playback device in a media playback system, theplayback device with a zone, and providing to a service provider, by themedia playback system, zone data. The zone data may be provided by theplayback device. The zone data identifies a zone name and/or type of azone associated with the playback device. The zone data may alsoidentify additional zones that the playback device is associated with.In other words, the playback device may be associated with a group ofzones.

In another aspect, a playback device is provided. The playback deviceincludes a processor and memory having stored thereon instructionsexecutable by the processor to cause the playback device to performfunctions. The functions include associating the playback device with azone, and providing zone data to a service provider. The zone dataidentifies a zone name and/or type associated with the playback device.The zone data may also identify additional zones that the playbackdevice is associated with. In other words, the playback device may beassociated with a group of zones.

In yet another aspect, a non-transitory computer readable memory isprovided. The non-transitory computer readable memory has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include associating, by aplayback device, the playback device with a zone, and providing to aservice provider, by the playback device, zone data. The zone dataidentifies a zone name and/or type of a zone associated with theplayback device. The zone data may also identify additional zones thatthe playback device is associated with. In other words, the playbackdevice may be associated with a group of zones.

It will be understood by one of ordinary skill in the art that thisdisclosure includes numerous other embodiments.

II. Example Operating Environment

FIG. 1 shows an example configuration of a media playback system 100 inwhich one or more embodiments disclosed herein may be practiced orimplemented. The media playback system 100 as shown is associated withan example home environment having several rooms and spaces, such as forexample, a master bedroom, an office, a dining room, and a living room.As shown in the example of FIG. 1, the media playback system 100includes playback devices 102-124, control devices 126 and 128, and awired or wireless network router 130.

Further discussions relating to the different components of the examplemedia playback system 100 and how the different components may interactto provide a user with a media experience may be found in the followingsections. While discussions herein may generally refer to the examplemedia playback system 100, technologies described herein are not limitedto applications within, among other things, the home environment asshown in FIG. 1. For instance, the technologies described herein may beuseful in environments where multi-zone audio may be desired, such as,for example, a commercial setting like a restaurant, mall or airport, avehicle like a sports utility vehicle (SUV), bus or car, a ship or boat,an airplane, and so on.

a. Example Playback Devices

FIG. 2 shows a functional block diagram of an example playback device200 that may be configured to be one or more of the playback devices102-124 of the media playback system 100 of FIG. 1. The playback device200 may include a processor 202, software components 204, memory 206,audio processing components 208, audio amplifier(s) 210, speaker(s) 212,and a network interface 214 including wireless interface(s) 216 andwired interface(s) 218. In one case, the playback device 200 may notinclude the speaker(s) 212, but rather a speaker interface forconnecting the playback device 200 to external speakers. In anothercase, the playback device 200 may include neither the speaker(s) 212 northe audio amplifier(s) 210, but rather an audio interface for connectingthe playback device 200 to an external audio amplifier or audio-visualreceiver.

In one example, the processor 202 may be a clock-driven computingcomponent configured to process input data according to instructionsstored in the memory 206. The memory 206 may be a tangiblecomputer-readable medium configured to store instructions executable bythe processor 202. For instance, the memory 206 may be data storage thatcan be loaded with one or more of the software components 204 executableby the processor 202 to achieve certain functions. In one example, thefunctions may involve the playback device 200 retrieving audio data froman audio source or another playback device. In another example, thefunctions may involve the playback device 200 sending audio data toanother device or playback device on a network. In yet another example,the functions may involve pairing of the playback device 200 with one ormore playback devices to create a multi-channel audio environment.

Certain functions may involve the playback device 200 synchronizingplayback of audio content with one or more other playback devices.During synchronous playback, a listener will preferably not be able toperceive time-delay differences between playback of the audio content bythe playback device 200 and the one or more other playback devices. U.S.Pat. No. 8,234,395 entitled, “System and method for synchronizingoperations among a plurality of independently clocked digital dataprocessing devices,” which is hereby incorporated by reference, providesin more detail some examples for audio playback synchronization amongplayback devices.

The memory 206 may further be configured to store data associated withthe playback device 200, such as one or more zones and/or zone groupsthe playback device 200 is a part of, audio sources accessible by theplayback device 200, or a playback queue that the playback device 200(or some other playback device) may be associated with. The data may bestored as one or more state variables that are periodically updated andused to describe the state of the playback device 200. The memory 206may also include the data associated with the state of the other devicesof the media system, and shared from time to time among the devices sothat one or more of the devices have the most recent data associatedwith the system. Other embodiments are also possible.

The audio processing components 208 may include one or moredigital-to-analog converters (DAC), an audio preprocessing component, anaudio enhancement component or a digital signal processor (DSP), and soon. In one embodiment, one or more of the audio processing components208 may be a subcomponent of the processor 202. In one example, audiocontent may be processed and/or intentionally altered by the audioprocessing components 208 to produce audio signals. The produced audiosignals may then be provided to the audio amplifier(s) 210 foramplification and playback through speaker(s) 212. Particularly, theaudio amplifier(s) 210 may include devices configured to amplify audiosignals to a level for driving one or more of the speakers 212. Thespeaker(s) 212 may include an individual transducer (e.g., a “driver”)or a complete speaker system involving an enclosure with one or moredrivers. A particular driver of the speaker(s) 212 may include, forexample, a subwoofer (e.g., for low frequencies), a mid-range driver(e.g., for middle frequencies), and/or a tweeter (e.g., for highfrequencies). In some cases, each transducer in the one or more speakers212 may be driven by an individual corresponding audio amplifier of theaudio amplifier(s) 210. In addition to producing analog signals forplayback by the playback device 200, the audio processing components 208may be configured to process audio content to be sent to one or moreother playback devices for playback.

Audio content to be processed and/or played back by the playback device200 may be received from an external source, such as via an audioline-in input connection (e.g., an auto-detecting 3.5 mm audio line-inconnection) or the network interface 214.

The network interface 214 may be configured to facilitate a data flowbetween the playback device 200 and one or more other devices on a datanetwork. As such, the playback device 200 may be configured to receiveaudio content over the data network from one or more other playbackdevices in communication with the playback device 200, network deviceswithin a local area network, or audio content sources over a wide areanetwork such as the Internet. In one example, the audio content andother signals transmitted and received by the playback device 200 may betransmitted in the form of digital packet data containing an InternetProtocol (IP)-based source address and IP-based destination addresses.In such a case, the network interface 214 may be configured to parse thedigital packet data such that the data destined for the playback device200 is properly received and processed by the playback device 200.

As shown, the network interface 214 may include wireless interface(s)216 and wired interface(s) 218. The wireless interface(s) 216 mayprovide network interface functions for the playback device 200 towirelessly communicate with other devices (e.g., other playbackdevice(s), speaker(s), receiver(s), network device(s), control device(s)within a data network the playback device 200 is associated with) inaccordance with a communication protocol (e.g., any wireless standardincluding IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4Gmobile communication standard, and so on). The wired interface(s) 218may provide network interface functions for the playback device 200 tocommunicate over a wired connection with other devices in accordancewith a communication protocol (e.g., IEEE 802.3). While the networkinterface 214 shown in FIG. 2 includes both wireless interface(s) 216and wired interface(s) 218, the network interface 214 may in someembodiments include only wireless interface(s) or only wiredinterface(s).

In one example, the playback device 200 and one other playback devicemay be paired to play two separate audio components of audio content.For instance, playback device 200 may be configured to play a leftchannel audio component, while the other playback device may beconfigured to play a right channel audio component, thereby producing orenhancing a stereo effect of the audio content. The paired playbackdevices (also referred to as “bonded playback devices”) may further playaudio content in synchrony with other playback devices.

In another example, the playback device 200 may be sonicallyconsolidated with one or more other playback devices to form a single,consolidated playback device. A consolidated playback device may beconfigured to process and reproduce sound differently than anunconsolidated playback device or playback devices that are paired,because a consolidated playback device may have additional speakerdrivers through which audio content may be rendered. For instance, ifthe playback device 200 is a playback device designed to render lowfrequency range audio content (i.e. a subwoofer), the playback device200 may be consolidated with a playback device designed to render fullfrequency range audio content. In such a case, the full frequency rangeplayback device, when consolidated with the low frequency playbackdevice 200, may be configured to render only the mid and high frequencycomponents of audio content, while the low frequency range playbackdevice 200 renders the low frequency component of the audio content. Theconsolidated playback device may further be paired with a singleplayback device or yet another consolidated playback device.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including a “PLAY:1,” “PLAY:3,”“PLAY:5,” “PLAYBAR,” “CONNECT:AMP,” “CONNECT,” and “SUB.” Any otherpast, present, and/or future playback devices may additionally oralternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, it is understood that aplayback device is not limited to the example illustrated in FIG. 2 orto the SONOS product offerings. For example, a playback device mayinclude a wired or wireless headphone. In another example, a playbackdevice may include or interact with a docking station for personalmobile media playback devices. In yet another example, a playback devicemay be integral to another device or component such as a television, alighting fixture, or some other device for indoor or outdoor use.

b. Example Playback Zone Configurations

Referring back to the media playback system 100 of FIG. 1, theenvironment may have one or more playback zones, each with one or moreplayback devices. The media playback system 100 may be established withone or more playback zones, after which one or more zones may be added,or removed to arrive at the example configuration shown in FIG. 1. Eachzone may be given a name according to a different room or space such asan office, bathroom, master bedroom, bedroom, kitchen, dining room,living room, and/or balcony. In one case, a single playback zone mayinclude multiple rooms or spaces. In another case, a single room orspace may include multiple playback zones.

As shown in FIG. 1, the balcony, dining room, kitchen, bathroom, office,and bedroom zones each have one playback device, while the living roomand master bedroom zones each have multiple playback devices. In theliving room zone, playback devices 104, 106, 108, and 110 may beconfigured to play audio content in synchrony as individual playbackdevices, as one or more bonded playback devices, as one or moreconsolidated playback devices, or any combination thereof. Similarly, inthe case of the master bedroom, playback devices 122 and 124 may beconfigured to play audio content in synchrony as individual playbackdevices, as a bonded playback device, or as a consolidated playbackdevice.

In one example, one or more playback zones in the environment of FIG. 1may each be playing different audio content. For instance, the user maybe grilling in the balcony zone and listening to hip hop music beingplayed by the playback device 102 while another user may be preparingfood in the kitchen zone and listening to classical music being playedby the playback device 114. In another example, a playback zone may playthe same audio content in synchrony with another playback zone. Forinstance, the user may be in the office zone where the playback device118 is playing the same rock music that is being playing by playbackdevice 102 in the balcony zone. In such a case, playback devices 102 and118 may be playing the rock music in synchrony such that the user mayseamlessly (or at least substantially seamlessly) enjoy the audiocontent that is being played out-loud while moving between differentplayback zones. Synchronization among playback zones may be achieved ina manner similar to that of synchronization among playback devices, asdescribed in previously referenced U.S. Pat. No. 8,234,395.

As suggested above, the zone configurations of the media playback system100 may be dynamically modified, and in some embodiments, the mediaplayback system 100 supports numerous configurations. For instance, if auser physically moves one or more playback devices to or from a zone,the media playback system 100 may be reconfigured to accommodate thechange(s). For instance, if the user physically moves the playbackdevice 102 from the balcony zone to the office zone, the office zone maynow include both the playback device 118 and the playback device 102.The playback device 102 may be paired or grouped with the office zoneand/or renamed if so desired via a control device such as the controldevices 126 and 128. On the other hand, if the one or more playbackdevices are moved to a particular area in the home environment that isnot already a playback zone, a new playback zone may be created for theparticular area.

Further, different playback zones of the media playback system 100 maybe dynamically combined into zone groups or split up into individualplayback zones. For instance, the dining room zone and the kitchen zone114 may be combined into a zone group for a dinner party such thatplayback devices 112 and 114 may render audio content in synchrony. Onthe other hand, the living room zone may be split into a television zoneincluding playback device 104, and a listening zone including playbackdevices 106, 108, and 110, if the user wishes to listen to music in theliving room space while another user wishes to watch television.

c. Example Control Devices

FIG. 3 shows a functional block diagram of an example control device 300that may be configured to be one or both of the control devices 126 and128 of the media playback system 100. As shown, the control device 300may include a processor 302, memory 304, a network interface 306, and auser interface 308. In one example, the control device 300 may be adedicated controller for the media playback system 100. In anotherexample, the control device 300 may be a network device on which mediaplayback system controller application software may be installed, suchas for example, an iPhone™, iPad™ or any other smart phone, tablet ornetwork device (e.g., a networked computer such as a PC or Mac™)

The processor 302 may be configured to perform functions relevant tofacilitating user access, control, and configuration of the mediaplayback system 100. The memory 304 may be configured to storeinstructions executable by the processor 302 to perform those functions.The memory 304 may also be configured to store the media playback systemcontroller application software and other data associated with the mediaplayback system 100 and the user.

In one example, the network interface 306 may be based on an industrystandard (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G mobile communication standard, and so on). Thenetwork interface 306 may provide a means for the control device 300 tocommunicate with other devices in the media playback system 100. In oneexample, data and information (e.g., such as a state variable) may becommunicated between control device 300 and other devices via thenetwork interface 306. For instance, playback zone and zone groupconfigurations in the media playback system 100 may be received by thecontrol device 300 from a playback device or another network device, ortransmitted by the control device 300 to another playback device ornetwork device via the network interface 306. In some cases, the othernetwork device may be another control device.

Playback device control commands such as volume control and audioplayback control may also be communicated from the control device 300 toa playback device via the network interface 306. As suggested above,changes to configurations of the media playback system 100 may also beperformed by a user using the control device 300. The configurationchanges may include adding/removing one or more playback devices to/froma zone, adding/removing one or more zones to/from a zone group, forminga bonded or consolidated player, separating one or more playback devicesfrom a bonded or consolidated player, among others. Accordingly, thecontrol device 300 may sometimes be referred to as a controller, whetherthe control device 300 is a dedicated controller or a network device onwhich media playback system controller application software isinstalled.

The user interface 308 of the control device 300 may be configured tofacilitate user access and control of the media playback system 100, byproviding a controller interface such as the controller interface 400shown in FIG. 4. The controller interface 400 includes a playbackcontrol region 410, a playback zone region 420, a playback status region430, a playback queue region 440, and an audio content sources region450. The user interface 400 as shown is just one example of a userinterface that may be provided on a network device such as the controldevice 300 of FIG. 3 (and/or the control devices 126 and 128 of FIG. 1)and accessed by users to control a media playback system such as themedia playback system 100. Other user interfaces of varying formats,styles, and interactive sequences may alternatively be implemented onone or more network devices to provide comparable control access to amedia playback system.

The playback control region 410 may include selectable (e.g., by way oftouch or by using a cursor) icons to cause playback devices in aselected playback zone or zone group to play or pause, fast forward,rewind, skip to next, skip to previous, enter/exit shuffle mode,enter/exit repeat mode, enter/exit cross fade mode. The playback controlregion 410 may also include selectable icons to modify equalizationsettings, and playback volume, among other possibilities.

The playback zone region 420 may include representations of playbackzones within the media playback system 100. In some embodiments, thegraphical representations of playback zones may be selectable to bringup additional selectable icons to manage or configure the playback zonesin the media playback system, such as a creation of bonded zones,creation of zone groups, separation of zone groups, and renaming of zonegroups, among other possibilities.

For example, as shown, a “group” icon may be provided within each of thegraphical representations of playback zones. The “group” icon providedwithin a graphical representation of a particular zone may be selectableto bring up options to select one or more other zones in the mediaplayback system to be grouped with the particular zone. Once grouped,playback devices in the zones that have been grouped with the particularzone will be configured to play audio content in synchrony with theplayback device(s) in the particular zone. Analogously, a “group” iconmay be provided within a graphical representation of a zone group. Inthis case, the “group” icon may be selectable to bring up options todeselect one or more zones in the zone group to be removed from the zonegroup. Other interactions and implementations for grouping andungrouping zones via a user interface such as the user interface 400 arealso possible. The representations of playback zones in the playbackzone region 420 may be dynamically updated as playback zone or zonegroup configurations are modified.

The playback status region 430 may include graphical representations ofaudio content that is presently being played, previously played, orscheduled to play next in the selected playback zone or zone group. Theselected playback zone or zone group may be visually distinguished onthe user interface, such as within the playback zone region 420 and/orthe playback status region 430. The graphical representations mayinclude track title, artist name, album name, album year, track length,and other relevant information that may be useful for the user to knowwhen controlling the media playback system via the user interface 400.

The playback queue region 440 may include graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue containing informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL) or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, possibly for playback by the playback device.

In one example, a playlist may be added to a playback queue, in whichcase information corresponding to each audio item in the playlist may beadded to the playback queue. In another example, audio items in aplayback queue may be saved as a playlist. In a further example, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streaming audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In an alternative embodiment, a playback queue can includeInternet radio and/or other streaming audio content items and be “inuse” when the playback zone or zone group is playing those items. Otherexamples are also possible.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue, or beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue, or be associated with a new playback queue thatis empty, or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped. Other examples are also possible.

Referring back to the user interface 400 of FIG. 4, the graphicalrepresentations of audio content in the playback queue region 440 mayinclude track titles, artist names, track lengths, and other relevantinformation associated with the audio content in the playback queue. Inone example, graphical representations of audio content may beselectable to bring up additional selectable icons to manage and/ormanipulate the playback queue and/or audio content represented in theplayback queue. For instance, a represented audio content may be removedfrom the playback queue, moved to a different position within theplayback queue, or selected to be played immediately, or after anycurrently playing audio content, among other possibilities. A playbackqueue associated with a playback zone or zone group may be stored in amemory on one or more playback devices in the playback zone or zonegroup, on a playback device that is not in the playback zone or zonegroup, and/or some other designated device.

The audio content sources region 450 may include graphicalrepresentations of selectable audio content sources from which audiocontent may be retrieved and played by the selected playback zone orzone group. Discussions pertaining to audio content sources may be foundin the following section.

d. Example Audio Content Sources

As indicated previously, one or more playback devices in a zone or zonegroup may be configured to retrieve for playback audio content (e.g.according to a corresponding URI or URL for the audio content) from avariety of available audio content sources. In one example, audiocontent may be retrieved by a playback device directly from acorresponding audio content source (e.g., a line-in connection). Inanother example, audio content may be provided to a playback device overa network via one or more other playback devices or network devices.

Example audio content sources may include a memory of one or moreplayback devices in a media playback system such as the media playbacksystem 100 of FIG. 1, local music libraries on one or more networkdevices (such as a control device, a network-enabled personal computer,or a networked-attached storage (NAS), for example), streaming audioservices providing audio content via the Internet (e.g., the cloud), oraudio sources connected to the media playback system via a line-in inputconnection on a playback device or network devise, among otherpossibilities.

In some embodiments, audio content sources may be regularly added orremoved from a media playback system such as the media playback system100 of FIG. 1. In one example, an indexing of audio items may beperformed whenever one or more audio content sources are added, removedor updated. Indexing of audio items may involve scanning foridentifiable audio items in all folders/directory shared over a networkaccessible by playback devices in the media playback system, andgenerating or updating an audio content database containing metadata(e.g., title, artist, album, track length, among others) and otherassociated information, such as a URI or URL for each identifiable audioitem found. Other examples for managing and maintaining audio contentsources may also be possible.

The above discussions relating to playback devices, controller devices,playback zone configurations, and media content sources provide onlysome examples of operating environments within which functions andmethods described below may be implemented. Other operating environmentsand configurations of media playback systems, playback devices, andnetwork devices not explicitly described herein may also be applicableand suitable for implementation of the functions and methods.

III. Example Methods for Providing Media Content Based on Playback ZoneAwareness

As discussed above, embodiments described herein involve providing mediacontent based on playback zone awareness. To assist with describingthese embodiments, FIG. 5 shows an example configuration of a mediaplayback system 500 and a service provider 510. As shown, the mediaplayback system includes a controller device 508, and a playback device502 in a playback zone 506. The media playback system 500 may also haveadditional playback zones that are not shown. In one example, theservice provider 510 may be one of several media content sources, suchas those discussed above in section II.d, that is in communication withand accessible by the media playback system 500. Playback device 502 maybe a playback device similar to that discussed above in section II.a,and controller device 508 may be similar to the control device discussedabove in section II.c.

In one example, playback device 502 may be any playback device in aplayback zone. Referring back to FIG. 1, playback device 502 may be theplayback device 118, in which case the playback zone 506 is “Office,” orthe playback device 114, in which case the playback zone 506 is“Kitchen.” While the example playback zone 506 includes just oneplayback device 502, one having ordinary skill in the art willappreciate that in the embodiments discussed herein, playback zones mayinclude two or more playback devices, as is the case with the livingroom playback zone and the master bedroom zone shown in FIG. 1, forexample. As previously discussed, playback devices within a playbackzone may be configured to play media content in synchrony.

In one example, the service provider 510 may be associated with a remoteserver, and may be accessible by the media playback system via a widearea network (WAN). As shown, the media playback system may be incommunication with the media content source 510 via the playback device502 and/or the controller device 508. Also shown, and as indicatedpreviously, the controller device 508 may be in communication withplayback device 502 to provide media playback commands to the playbackdevice 502. In one case, the controller device 508 may communicate withthe playback device 502 over a local area network (LAN). Other casesexist. a. Example Methods for Providing Playback Zone Information toService Providers

As previously discussed, the present application involves providingmedia content based on playback zone awareness. To provide media contentbased on playback zone awareness, a service provider receives dataindicating the playback zone for which the media content is playing orwill be playing. Along the same lines, any contextual data, includingplayback zone information may be provided to the service provider andused by the service provider when generating zone tailored playlists,content streams, or other types of media content. In an embodiment, thezone data is received by the service provider prior to the sending ofthe selected media content to a media playback system. In anotherembodiment, the zone data is received by the service provider during thetransmission of media content to a media playback system, and thereafterprovides zone tailored media content to the media playback system.

FIG. 6A shows an example flow diagram of a method 600 for providingplayback zone information to a service provider. Method 600 shown inFIG. 6A presents an embodiment of a method that can be implementedwithin an operating environment involving, for example, the mediaplayback system 100 of FIG. 1, one or more of the playback device 200 ofFIG. 2, one or more of the control device 300 of FIG. 3, and one or moreof the media playback system 500 of FIG. 5. Method 600 may include oneor more operations, functions, or actions as illustrated by one or moreof blocks 602-604. Although the blocks are illustrated in sequentialorder, these blocks may also be performed in parallel, and/or in adifferent order than those described herein. Also, the various blocksmay be combined into fewer blocks, divided into additional blocks,and/or removed based upon the desired implementation.

In addition, for the method 600 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer readable medium may include non-transitory computer readablemedium, for example, such as computer-readable media that stores datafor short periods of time like register memory, processor cache andRandom Access Memory (RAM). The computer readable medium may alsoinclude non-transitory media, such as secondary or persistent long termstorage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. The computerreadable media may also be any other volatile or non-volatile storagesystems. The computer readable medium may be considered a computerreadable storage medium, for example, or a tangible storage device. Inaddition, for the method 600 and other processes and methods disclosedherein, each block in FIG. 6A may represent circuitry that is wired toperform the specific logical functions in the process.

At block 602, the method 600 involves a playback device associating witha playback zone. In one example, as shown in FIG. 5, the playback device502 may be assigned to the playback zone 506. The playback device 502may have been assigned to the playback zone 506 when the playback device502 is powered up or when the playback device 502 is added to the mediaplayback system 500. In some instances, the playback device 502 may beassigned to different playback zones over time. Zone data thatidentifies the playback zone that the playback device 502 is presentlyassigned to may be stored on a device. In some embodiments, the zonedata is stored on the playback device 502 in the form of a statevariable. In other embodiments, the zone data is stored on a controllerdevice such as the controller device 508, or another playback device inthe media playback system 500, or on a remote server.

At block 604, the method 600 involves the playback device providing to aservice provider zone data identifying a playback zone that isassociated with the playback device. The zone data may be sent directlyfrom the playback device or via another device in the media playbacksystem. For instance, if the playback device is part of a consolidatedplayer or if the playback zone is in a zone group, any of the otherplayback devices in the consolidated player or playback zones of thezone group may send the zone data. The zone data may include, forexample, a zone name such as “Kitchen,” “Office,” “Bedroom,” “Gym,” andso on. The zone data may include, for example, characteristics of thezone, like a preference for instrumental music versus vocal music. Thezone data may include both a zone name and one or more zonecharacteristics. Other examples are possible.

In an example referring back to FIG. 5, the playback device 502 sendsthe zone data directly to the service provider 510 via a wide areanetwork. In another case, the playback device 502 sends the zone data tothe service provider 510 from the controller device 508 via the widearea network. In one example, the service provider 510 may store thezone data on a server or storage medium associated with the serviceprovider 510, and may access the zone data when providing media contentto the playback device 502, as will be discussed later.

In another example, the playback device 502 provides the zone data tothe service provider 510 when the playback device 502 is requestingand/or retrieving media content from the service provider 510. Forinstance, if a user accesses the playback device 502 (via the controllerdevice 508, for example) to cause the playback device 502 to play mediacontent from the service provider 510, the playback device 502 maycommunicate with the service provider 510 to request and/or retrievemedia content. The playback device 502 may accordingly provide the zonedata when communicating with the service provider 510 to request and/orretrieve media content. In other words, one or more network messagessent to the service provider might comprise a request for media contentand zone data for which the media content will be played (e.g., the oneor more messages might comprise (1) play “Bill Evans” artist channel;(2) living room).

In another example, the playback device 502 may provide the zone data tothe service provider 510 periodically, such as once a day, for example.In another example, the playback device 502 may provide the zone data tothe service provider 510 in response to a request from the serviceprovider 510. For instance, the service provider 510 may requestinformation, including the zone data, associated with the playbackdevice 502 when the playback device 502 first establishes communicationwith the service provider 510.

In yet another example, the playback device 502 may provide the zonedata to the service provider 510 when the playback device receives aninput indicating that the playback zone 506 has been selected,potentially for media content playback. In other words, the playbackdevice 502 may provide the zone data to the service provider 510 whenthe user selects the playback zone 506 via the controller device 508,whether or not the user subsequently requests media content to be playedin the playback zone 506.

In the case multiple service providers including the service provider510 are in communication with the media playback system 500, theplayback device 502 may provide the zone data to each of the serviceproviders or a service provider that has most recently provided mediacontent to the playback device 502 for playback in the playback zone506. Other examples are also possible.

In a further example, the playback device 502 may provide the zone datato the service provider 510 along with feedback data indicating apreference rating for a particular media content provided by the serviceprovider 510. In other words, providing zone data to the serviceprovider 510 may involve the playback device 502 receiving feedback dataindicating a preference rating for a particular media content providedby the service provider 510 and played in the playback zone 506, andproviding the zone data to the service provider 510 when providing thefeedback data to the service provider 510.

As discussed previously, the service provider 510 may be a serviceprovider that provides zone tailored media content playlists or mediacontent streams, based partially on feedback from the user. In one case,the user may provide positive or negative feedback on a particular mediacontent provided by the service provider 510, and the service provider510 may determine media content to be subsequently provided to the userpartially based on the feedback. In such a case, it may also be usefulfor the service provider 510 to receive the zone data, which in thisexample may identify the playback zone 506 as the playback zone in whichthe particular media content was played when the user provided thefeedback. The service provider 510 may use the zone data and theassociated feedback to determine media content to be subsequentlyprovided to the user.

As previously indicated, the media playback system 500 of FIG. 5 mayprovide playback zone information to the service provider 510 via theplayback device 502 as discussed above, and/or the controller device508, as will be discussed below. FIG. 6B shows an example flow diagramof a method 650 for providing playback zone information to a serviceprovider. Method 650 shown in FIG. 6B presents an embodiment of a methodthat can be implemented within an operating environment involving, forexample, the media playback system 100 of FIG. 1, one or more of theplayback device 200 of FIG. 2, one or more of the control device 300 ofFIG. 3, and one or more of the media playback system 500 of FIG. 5.Method 650 may include one or more operations, functions, or actions asillustrated by one or more of blocks 652-654. Although the blocks areillustrated in sequential order, these blocks may also be performed inparallel, and/or in a different order than those described herein. Also,the various blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

At block 652, the method 650 involves receiving zone selection dataindicating a selection of a playback zone. In one example, the user maybe using the controller device 508 to select media content to be playedin the playback zone 506. To do this, the user may select the playbackzone 506 in the media playback system 100 via an interaction with thecontroller device 508. The controller device 508 may also receive aninput identifying a service provider. The input may be a user-selectionof the service provider 510 using the controller device 508. In onecase, the controller device 508, prior to receiving the input, maydisplay one or more selectable content providers, and the received inputmay indicate a selection of the service provider 510 from the one ormore selectable content providers. The one or more selectable contentproviders may be displayed in response to a selection of the playbackzone 506. Alternatively, the one or more selectable content providersmay be displayed prior to receiving the selection of the playback zone506.

In some embodiments, the one or more selectable content providersdisplayed by the controller device 508 may be media content applicationsassociated with one or more service providers. In such a case, the inputmy involve the user selecting a media content application associatedwith the service provider 510, resulting in the media contentapplication associated with the service provider 510 being launched bythe controller device 508. In some other embodiments, the one or moreselectable content providers displayed by the controller device 508 maydisplayed in the form of a list of service providers within a controllerapplication associated with the media playback system 500. In this case,the input may involve the user selecting the service provider 510 fromthe list of displayed service providers. In either case, the user may beselecting the service provider to provide media content to be played ina playback zone of the media playback system 500, such as the playbackdevice 502 in playback zone 506.

At block 654, the method 650 involves the controller device sending tothe service provider, a message including zone data identifying a nameof a zone associated with a playback device As discussed above inconnection to the method 600 of FIG. 6A, the zone data may identify aplayback zone associated with a playback device that the user may wantthe service provider 510 to provide media content for. Continuing withthe above examples, the playback zone may be the playback zone 506 withthe playback device 502.

As indicated above, the controller device 508 may receive zone selectiondata indicating a selection of the playback zone 506 either before orafter receiving the input identifying the selection of the serviceprovider 510. For instance, if the service provider 510 was selected viaa selection and launching of the media content application associatedwith the service provider 510, the media content application may, uponbeing launched, prompt the user to select a playback zone, such as theplayback zone 506 in the media playback system 500, or another audiorendering means (i.e. via a headphone connected to the controllerdevice). In another instance, if the service provider 510 was selectedfrom a list of service providers displayed within a controllerapplication associated with the media playback system 500, the user mayhave selected the playback zone 506 prior to selecting the serviceprovider 510. Other examples are also possible.

In one example, the playback device 502 may receive a notification fromthe controller device 508 upon a selection of the playback zone 506 bythe user via the controller device 508. The playback device 502 mayresponsively send the zone data associated with the playback device 502to the controller device 508. The controller device 508 in this examplemay subsequently provide the received zone data associated with theplayback device 502 (identifying the playback zone 506) to the serviceprovider 510.

In one example, the controller device 508 may receive zone data from theplayback device 502 identifying the playback zone 506 when either thecontroller device 508 or the playback device 502 was first added to themedia playback system 500. The playback device 502 may subsequentlyprovide zone data to the controller device 508 periodically, or whenthere are any changes to the zone data, such as if the playback device502 was moved and/or assigned to a different playback zone. Thecontroller device 508 may then provide the zone data to the serviceprovider 510 periodically, or whenever an updated zone data is receivedfrom the playback device 502. In another example, the message may besent by the controller device 508 to the service provider 510 inresponse to receiving the input identifying the service provider 510. Inyet another example, the message may be sent by the controller device508 to the service provider 510 in response receiving another input fromuser. For instance, the message may be sent to the service provider 510upon receiving a play command from the user to cause media contentprovided by the service provider 510 to be played by the playback device502 in playback zone 506. Other examples are also possible.

As indicated above, the service provider 510 may then provide mediacontent to be played by the playback device 502 in playback zone 506partially based on the received zone data. The controller device 508 mayreceive from the service provider 510, information identifying the mediacontent that is provided to the playback device 502. The informationidentifying the media content may include metadata associated with themedia content. For instance, if the media content is a music track, theinformation may include track title, album title, artist name, releaseyear, record label, and album art, among others.

In such a case, the controller device 508 may further display at least aportion of the information identifying the media content while the mediacontent is being played by the playback device 502. The controllerdevice 508 may in some cases also display an indication that the mediacontent is based on the zone data. For instance, when displayinginformation identifying the media content being played, the controllerdevice 508 may also provide textual or graphical icons indicating thatthe media content is being played in the playback zone 506. Otherexamples are also possible.

While the zone data discussed in the examples connected to methods 600and 650 above generally identify a playback zone with a household, onehaving ordinary skill in the art will appreciate that the zone data mayalso identify other contextual information such as time, day, week,month, and/or season, playback zone groupings, playback volumes, andplayback device configurations, among others that may be based upon bythe service provider 510 to determine media content to subsequentlyprovide to the user.

b. Example Method for Providing Media Content Based on Playback ZoneInformation

As indicated previously, the service provider may provide media contentbased on the zone data received from the media playback system 500(e.g., either via a playback device, such as the playback device 502, orthe controller device 508). FIG. 7 shows an example flow diagram forproviding media content based on playback zone information. Method 700shown in FIG. 7 presents an embodiment of a method that can beimplemented within a system in communication with a media playbacksystem such as the media playback system 100 of FIG. 1, one or more ofthe playback device 200 of FIG. 2, one or more of the control device 300of FIG. 3, and one or more of the media playback system 500 of FIG. 5.For instance, method 700 may be implemented within a server associatedwith the service provider 510 of FIG. 5. Method 700 may include one ormore operations, functions, or actions as illustrated by one or more ofblocks 702-706. Although the blocks are illustrated in sequential order,these blocks may also be performed in parallel, and/or in a differentorder than those described herein. Also, the various blocks may becombined into fewer blocks, divided into additional blocks, and/orremoved based upon the desired implementation.

At block 702, the method 700 involves a computing device, such as theserver associated with the service provider 510 of FIG. 5, receivingzone data identifying a name of a zone associated with a playbackdevice. As previously discussed, the service provider 510 may receivefrom the media playback system 500 zone data identifying the playbackzone 506. The zone data may be received from the playback device 502that is in the playback zone, the controller device 508, or othercomponents of the media playback system 500. For instance, a serviceprovider 510 receives one or more network messages that comprise a someidentification of a user location, such as a household identification(HHID) identifying a household within which the media playback system500 is implemented, one or more user accounts associated with the mediaplayback system 500 and the service provider 510, a request for mediacontent, and/or a zone and/or characteristics of the zone in which themedia content is to be played.

As previously indicated in connection to methods 600 and 650, in oneexample, the zone data may be received upon a selection of a playbackzone, such as the playback zone 506. In other words, reception of thezone data may indicate a selection of the playback zone 506. In onecase, the zone data may be received along with a request from the mediaplayback system 500 for media content to be played in the selectedplayback zone. In this case, reception of the zone data may indicatethat the media content being requested from the service provider 510 isto be played in the playback zone 506.

In another example, if the service provider 510 provides user-tailoredmedia content derived from user provided feedback on media contentprovided and played, the zone data may further identify a content ratingor feedback on particular media content that is or was being played bythe playback device 502 in playback zone 506. As such, the feedback ofthe user on the particular media content may also indicate the playbackzone 506 in which the user was experiencing the media content whenproviding the feedback or content rating.

In yet another example, the zone data may be received when the playbackdevice 502 is added to the media playback system and/or when theplayback zone 506 is established. In such a case, the service provider510 may store the zone data on the server associated with the serviceprovider 510 for future reference. For instance, in some embodiments, ifzone data is provided upon initial setup of the playback device 502, andnot otherwise provided to the service provider 510, the service provider510 may reference the previously stored zone data when providing mediacontent.

At block 704, the method 700 involves the computing device identifyingmedia content based on the zone data. Media content identified by thecomputing device based on the zone data may include individual mediaitems, playlists of media items, variable streaming media content, andstreaming Internet radio, among others. In one example, if the serviceprovider 510 offers customized or catered playlists, the serviceprovider 510 may identify a playlist, or generate a playlist based onthe zone data. For instance, if the playback zone 506 is an office, theservice provider 510 may identify playlists, or media content morelikely suitable for working or studying. On the other hand, if theplayback zone 506 is a kitchen, the media playback device may identifyplaylists or media content suitable for cooking, entertaining, orcleaning up after a party. Similarly, if the zone data indicates aspecific grouping of playback zones in the media playback system 500,such as a “party mode” when all playback zones in the media playbacksystem 500, including playback zone 506, are combined into one zonegroup, the service provider 510 may identify playlists or media contentsuitable for house-wide social events.

In another example, the service provider 510 may identify media contentfor generating playlists according to an algorithm. In this case, ifcontextual data, such as the time of day or day of week is used asinputs to the algorithm, the received zone data may be used as an inputto the algorithm. Along the same lines, if the service provider 510generates catered media content based on a series of contextual dataprovided by the user, any playback zone related contextual informationmay be pre-filled based on the received zone data. For example, if theuser is “playing video games” in the “living room” with his “friends,”the user may provide data indicating the activity of “playing videogames,” and the social context of “friends,” but the locationalinformation of “living room” may be pre-filled because the userpreviously selected a “Living Room” zone when accessing the mediaplayback system 500 to play media content in the living room.

In another example, if the service provider 510 offers user-tailoredplaylists based on a user's feedback on previously provided mediacontent and zone data was provided along with the user's feedback, theservice provider 510 may identify media content for the user-tailoredplaylist based on the user's feedback on previously provided mediacontent as well as the playback zone(s) in which the media content wasplayed when the user provided the feedback. For instance, if a userprovided negative feedback while listening to particular media contentin the kitchen, the service provider 510 may not provide the particularmedia content, or similar media content, to the kitchen in the future.However, the service provider 510 may still provide the particular mediacontent (or similar media content)service provider to the office or someother zone, for example, unless the user also provided negative feedbackwhen the particular media content was previously played in the office,or the feedback was universally applied to all zones.

At block 706, the method 700 involves providing the identified mediacontent to the playback device. Upon identifying media content basedpartially on the received zone data, the service provider 510 may thenprovide to the playback device 502 media content to be played by theplayback device 502 in the playback zone 506. In some cases, the mediacontent may be provided to the playback device 502 in the form ofstreaming content, such that the playback device 502 may begin renderingthe media content while the media content is still being provided, andcontinues to be provided to the playback device. In some other cases,the media content may be provided to the playback device 502 as one ormore complete data files

In one example, the service provider 510 may also provide to thecontroller device 508 information identifying the provided media contentto be displayed to the user. The information identifying the providedmedia content may be displayed by the controller device 508 such thatthe user accessing the media playback system 500 via the controllerdevice 508 may view information on the media content being played by theplayback device 502 in the playback zone 506.

In some cases, the service provider 510 may identify multiple mediacontent, such as different playlists or channels, based on the zonedata. As such, in one example, providing the identified media content tothe playback device 502 may further involve receiving one or moremessages from the controller device 508, the playback device 502 or someother device, indicating a subsequent selection from the variousidentified media content. In other words, the service provider 510 mayprovide to the controller device 508 a list of selectable media contentthat the service provider 510 identified based on the zone data. Theuser may then select media content from the list of media itemsdisplayed by the controller device 508. In one case, a selection ofmedia content by the user may cause the controller device 508 to send amessage to the service provider 510 requesting the selected mediacontent. In response to the request, the service provider 510 may thenprovide the selected media content to the playback device 502. Otherinteractions to facilitate playback of media content provided by theservice provider 510 by the playback device 502 may also be possible.

In some cases, the media playback device 502 may begin rendering themedia content upon receiving the media content from the serviceprovider. In some other cases, the playback device 502 may cache thereceived media content and wait for an input from the controller device508 indicating that the playback device 502 is to render the receivedmedia content before rendering the received media content in theplayback zone 506. Other examples are also possible.

IV. Conclusion

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyway(s) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

As discussed above, the present application is directed to providingmedia content based on playback zone awareness and includes thedescription of a number of embodiments. In one aspect, for example, amethod is provided. The method involves receiving, by a computing deviceassociated with a service provider, zone data. The zone data identifiesa zone name and/or type of a zone associated with a playback device of amedia playback system. The reception of the zone data indicates aselection of the zone associated with the playback device. The methodalso involves identifying, by the computing device, media content basedon the zone data, and providing, by the computing device, the mediacontent to the media playback system. The media content may be providedto the playback device and/or any other devices in the media playbacksystem.

In another aspect, for example, a device is provided. The deviceincludes a processor and memory having stored thereon instructionsexecutable by the processor to cause the device to perform functions.The functions include receiving, by a computing device associated with aservice provider, zone data. The zone data identifies a zone name and/ortype of a zone associated with a playback device of a media playbacksystem. The reception of the zone data indicates a selection of thezone. The functions also include identifying, by the computing device,media content based on the zone data, and providing, by the computingdevice, the media content to the media playback system. The mediacontent may be provided to the playback device and/or any other devicesin the media playback system.

In yet another aspect, for example, a non-transitory computer readablememory is provided. The non-transitory computer readable memory hasstored thereon instructions executable by a computing device to causethe computing device to perform functions. The functions includereceiving, by a computing device associated with a service provider,zone data. The zone data identifies a zone name and/or type of a zoneassociated with a playback device of a media playback system. Thereception of the zone data indicates a selection of the zone associatedwith the playback device. The functions also include identifying, by thecomputing device based on the zone data, media content based on the zonedata, and providing, by the computing device, the media content to themedia playback system. The media content may be provided to the playbackdevice and/or any other devices in the media playback system.

In another aspect, a method is provided. The method involves receiving,by a controller device, zone selection data indicating a selection of azone; and sending a message, by the controller device, to a serviceprovider. The message includes zone data identifying the zone.

In yet another aspect, a controller device is provided. The controllerdevice includes a processor and memory having stored thereoninstructions executable by the processor to cause the controller deviceto perform functions. The functions include receiving, by a controllerdevice, zone selection data indicating a selection of a zone; andsending a message, by the controller device, to a service provider. Themessage includes zone data identifying the zone.

In another aspect, a non-transitory computer readable memory isprovided. The non-transitory computer readable memory has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include receiving, by acontroller device, zone selection data indicating a selection of a zone;and sending a message, by the controller device, to a service provider.The message includes zone data identifying the zone.

In yet another aspect, a method is provided. The method involvesassociating, by a playback device in a media playback system, theplayback device with a zone, and providing to a service provider, by themedia playback system, zone data. The zone data may be provided by theplayback device. The zone data identifies a zone name and/or type of azone associated with the playback device. The zone data may alsoidentify additional zones that the playback device is associated with.In other words, the playback device may be associated with a group ofzones.

In another aspect, a playback device is provided. The playback deviceincludes a processor and memory having stored thereon instructionsexecutable by the processor to cause the playback device to performfunctions. The functions include associating the playback device with azone, and providing zone data to a service provider. The zone dataidentifies a zone name and/or type associated with the playback device.The zone data may also identify additional zones that the playbackdevice is associated with. In other words, the playback device may beassociated with a group of zones.

In yet another aspect, a non-transitory computer readable memory isprovided. The non-transitory computer readable memory has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include associating, by aplayback device, the playback device with a zone, and providing to aservice provider, by the playback device, zone data. The zone dataidentifies a zone name and/or type of a zone associated with theplayback device. The zone data may also identify additional zones thatthe playback device is associated with. In other words, the playbackdevice may be associated with a group of zones.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

1. A method to be performed by a computing system, the methodcomprising: receiving, via one or more network interfaces, dataindicating that a headphone is selected as a current playback devicefrom among multiple playback devices, the multiple playback devicescomprising the headphone and one or more additional playback devicescomprising audio transducers configured for out-loud playback;selecting, via the computing system, a first playlist of first audiotracks that are customized to playback via the headphone from amongmultiple playlists, wherein the multiple playlists comprise a secondplaylist of second audio tracks are customized to playback via the oneor more additional playback devices; and providing, via the one or morenetwork interfaces, data representing the selected first playlist to amobile device.
 2. The method of claim 1, wherein selecting the firstplaylist of first audio tracks that are customized to playback via theheadphone from among the multiple playlists comprises: receivingcontextual data associated with the mobile device; and selecting thefirst playlist from among two or more playlists of audio tracks that arecustomized to playback via the headphone based on the receivedcontextual data.
 3. The method of claim 2, further comprising:determining the first audio tracks of the first playlist based onpreference data generated during playback via the headphone; anddetermining the second audio tracks of the second playlist based onpreference data generated during playback via the one or more additionalplayback devices.
 4. The method of claim 3, wherein the preference datacomprises activity data representing two or more activities performedduring playback via the headphone, and wherein selecting the firstplaylist from among the two or more playlists of audio tracks that arecustomized to playback via the headphone based on contextual datacomprises: selecting the first playlist based on the contextual dataindicating a particular activity from among the two or more activities.5. The method of claim 3, wherein the preference data comprises playbackdata representing playback via the headphone during two or more dailytime periods, and wherein selecting the first playlist from among thetwo or more playlists of audio tracks that are customized to playbackvia the headphone based on contextual data comprises: selecting thefirst playlist based on the contextual data based on a current time ofday corresponding to a particular one of the two or more daily timeperiods.
 6. The method of claim 3, wherein the preference data comprisesdata representing two or more social contexts that occurred duringplayback via the headphone, and wherein selecting the first playlistfrom among the two or more playlists of audio tracks that are customizedto playback via the headphone based on contextual data comprises:selecting the first playlist based on the contextual data indicating aparticular social context from among the two or more social contexts. 7.The method of claim 3, further comprising: receiving, via the one ormore network interfaces from the mobile device, at least a portion ofthe preference data generated during playback via the headphone.
 8. Themethod of claim 3, further comprising: generating the preference databased on audio tracks streamed to the mobile device while the headphoneis selected as the current playback device, wherein providing, via theone or more network interfaces, the data representing the selected firstplaylist to the mobile device comprises: streaming, via the one or morenetwork interfaces, at least a portion of the first audio tracks to themobile device for playback via the headphone.
 9. The method of claim 1,wherein providing, via the one or more network interfaces, the datarepresenting the selected first playlist to the mobile device comprises:causing the mobile device to display a graphical indication of the firstplaylist in a graphical user interface.
 10. The method of claim 1,further comprising: receiving, via the one or more network interfaces,additional data indicating that a one or more additional playbackdevices are selected as the current playback device from among multipleplayback devices; selecting, via the computing system, the secondplaylist of second audio tracks that are customized to playback via theone or more additional playback devices; and providing, via the one ormore network interfaces, data representing the selected second playlistto the mobile device.
 11. A computing system of a cloud servicecomprising one or more network interfaces, one or more processors, anddata storage storing instructions that when executed by the one or moreprocessors cause the computing system to perform functions comprising:receiving, via the one or more network interfaces, data indicating thata headphone is selected as a current playback device from among multipleplayback devices, the multiple playback devices comprising the headphoneand one or more additional playback devices comprising audio transducersconfigured for out-loud playback; selecting, via the computing system, afirst playlist of first audio tracks that are customized to playback viathe headphone from among multiple playlists, wherein the multipleplaylists comprise a second playlist of second audio tracks arecustomized to playback via the one or more additional playback devices;and providing, via the one or more network interfaces, data representingthe selected first playlist to a mobile device.
 12. The computing systemof claim 11, wherein selecting the first playlist of first audio tracksthat are customized to playback via the headphone from among themultiple playlists comprises: receiving contextual data associated withthe mobile device; and selecting the first playlist from among two ormore playlists of audio tracks that are customized to playback via theheadphone based on the received contextual data.
 13. The computingsystem of claim 12, wherein the functions further comprise: determiningthe first audio tracks of the first playlist based on preference datagenerated during playback via the headphone; and determining the secondaudio tracks of the second playlist based on preference data generatedduring playback via the one or more additional playback devices.
 14. Thecomputing system of claim 13, wherein the preference data comprisesactivity data representing two or more activities performed duringplayback via the headphone, and wherein selecting the first playlistfrom among the two or more playlists of audio tracks that are customizedto playback via the headphone based on contextual data comprises:selecting the first playlist based on the contextual data indicating aparticular activity from among the two or more activities.
 15. Thecomputing system of claim 13, wherein the preference data comprisesplayback data representing playback via the headphone during two or moredaily time periods, and wherein selecting the first playlist from amongthe two or more playlists of audio tracks that are customized toplayback via the headphone based on contextual data comprises: selectingthe first playlist based on the contextual data based on a current timeof day corresponding to a particular one of the two or more daily timeperiods.
 16. The computing system of claim 13, wherein the preferencedata comprises data representing two or more social contexts thatoccurred during playback via the headphone, and wherein selecting thefirst playlist from among the two or more playlists of audio tracks thatare customized to playback via the headphone based on contextual datacomprises: selecting the first playlist based on the contextual dataindicating a particular social context from among the two or more socialcontexts.
 17. The computing system of claim 13, wherein the functionsfurther comprise: receiving, via the one or more network interfaces fromthe mobile device, at least a portion of the preference data generatedduring playback via the headphone.
 18. The computing system of claim 13,wherein the functions further comprise: generating the preference databased on audio tracks streamed to the mobile device while the headphoneis selected as the current playback device, wherein providing, via theone or more network interfaces, the data representing the selected firstplaylist to the mobile device comprises: streaming, via the one or morenetwork interfaces, at least a portion of the first audio tracks to themobile device for playback via the headphone.
 19. The computing systemof claim 11, wherein providing, via the one or more network interfaces,the data representing the selected first playlist to the mobile devicecomprises: causing the mobile device to display a graphical indicationof the first playlist in a graphical user interface.
 20. A tangible,non-transitory computer-readable medium comprising program instructionsthat are executable by at least one processor such that a computingsystem of a cloud service is configured to perform functions comprising:receiving, via one or more network interfaces, data indicating that aheadphone is selected as a current playback device from among multipleplayback devices, the multiple playback devices comprising the headphoneand one or more additional playback devices comprising audio transducersconfigured for out-loud playback; selecting, via the computing system, afirst playlist of first audio tracks that are customized to playback viathe headphone from among multiple playlists, wherein the multipleplaylists comprise a second playlist of second audio tracks arecustomized to playback via the one or more additional playback devices;and providing, via the one or more network interfaces, data representingthe selected first playlist to a mobile device.